package com.bicntech.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

import com.bicntech.common.core.domain.BaseEntity;
import com.bicntech.common.typehandler.JsonArrayTypeHandler;
import com.bicntech.system.dto.OutfieldInspectDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.ibatis.type.Alias;

/**
 * 机务维修记录--外场
 * @TableName outfield_vehicle_equipment_inspect
 */
@TableName(value ="outfield_vehicle_equipment_inspect",autoResultMap = true)
@Data
@Alias("outfield_vehicle_equipment_inspect")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class OutfieldVehicleEquipmentInspect extends BaseEntity {
    /**
     * 
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 检查单编号
     */
    private String code;

    /**
     * 检查单类型 1接机工作 2送机工作  3维修检查  4长短停及航后离机检查项目
     */
    private Integer type;

    /**
     * 检查单状态 1待检查  2待复核  3 历史 4 废弃
     */
    private Integer state;

    /**
     * 工单日期
     */
    private LocalDateTime inspectDate;

    /**
     * 航班号
     */
    private String flightNumber;

    /**
     * 机号
     */
    private String machineNumber;

    /**
     * 停机位
     */
    private String stand;

    /**
     * 工作者--检查项
     */
    @TableField(typeHandler = JsonArrayTypeHandler.class)
    private List<OutfieldInspectDTO> workerInspectTerm;

    /**
     * 复核者--检查项
     */
    @TableField(typeHandler = JsonArrayTypeHandler.class)
    private List<OutfieldInspectDTO> reviewerInspectTerm;

    /**
     * 复核者
     */
    private String reviewer;

    /**
     * 复核者id
     */
    private String reviewerId;

    /**
     * 工作者
     */
    private String worker;

    /**
     * 工作者id
     */
    private String workerId;

    /**
     * 复核时间
     */
    private LocalDateTime reviewerTime;

    /**
     * 检查时间
     */
    private LocalDateTime inspectTime;

    /**
     * 版本号
     */
    private Integer version;

}